package com.test.cn.beer

/**
  * 每瓶啤酒2元，3个空酒瓶或者5个瓶盖可换1瓶啤酒。
  * 100元最多可喝多少瓶啤酒？（不允许借啤酒）
  * 思路：利用递归算法，一次性买完，然后递归算出瓶盖和空瓶能换的啤酒数
  */
object Question_1 {


  def beer(bottle: Int, caps: Int, total: Int): Int = {
    if (bottle < 3 && caps < 5) {
      return total
    }

    var num = 0
    num = num + bottle / 3
    num += caps / 5

    val new_bottle = bottle % 3 + num
    val new_caps = caps % 5 + num

    beer(new_bottle, new_caps, total + num)
  }


  def main(args: Array[String]): Unit = {
    val num: Int = beer(50, 50, 50)
    println(s"最终喝了 $num 瓶酒")
  }

}
